c में sYairF सूचक
निरंतर संकेत
C में एक निरंतर सूचक उस चर का पता नहीं बदल सकता है जिस पर वह इंगित कर रहा है, अर्थात, पता स्थिर रहेगा। इसलिए, हम कह सकते हैं कि यदि कोई निरंतर सूचक कुछ चर की ओर इशारा कर रहा है, तो यह किसी अन्य चर को इंगित नहीं कर सकता है।
निरंतर सूचक का वाक्य
<pzakar ka saucak> *sYairF <naama ka saucak>;
एक निरंतर सूचक की घोषणा नीचे दी गई है:
paunaZ *sYairF paiTiAar;
आइए एक उदाहरण के माध्यम से निरंतर सूचक को समझें।
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P=1;
paunaZ bai=2;
paunaZ *sYairF paiTiAar;
paiTiAar=&P;
paiTiAar=&bai;
mauDznama("kimata ka paiTiAar hI :%paunaZ",*paiTiAar);
naivaZtanama 0;
}
उपरोक्त कोड में:
हम क्रमशः 1 और 2 के मूल्यों के साथ दो चर, अर्थात्, ए और बी घोषित करते हैं। हम एक निरंतर सूचक घोषित करते हैं। सबसे पहले, हम 'ए' को पॉइंटर 'पीटीआर' के लिए चर 'ए' का पता देते हैं। फिर, हम 'Ptr' को 'B' का पता 'B' का पता देते हैं। अंत में, हम 'पीटीआर' द्वारा इंगित चर के मूल्य को प्रिंट करने का प्रयास करते हैं।
उपरोक्त आउटपुट में, हम देख सकते हैं कि उपरोक्त कोड "केवल-केवल चर 'PTR' का असाइनमेंट" त्रुटि पैदा करता है। इसका मतलब है कि चर 'ptr' का मान जो 'ptr' हो रहा है, उसे नहीं बदला जा सकता है। उपरोक्त कोड में, हम & a से & B से 'ptr' का मान बदल रहे हैं, जो निरंतर पॉइंटर्स के साथ संभव नहीं है। इसलिए, हम कह सकते हैं कि निरंतर सूचक, जो कुछ चर की ओर इशारा करता है, किसी अन्य चर को इंगित नहीं कर सकता है।
निरंतर के लिए सूचक
पॉइंटर का सिंटैक्स निरंतर से
sYairF <pzakar ka saucak>* <naama ka saucak>
एक सूचक की घोषणा नीचे दी गई है:
sYairF paunaZ* paiTiAar;
आइए एक उदाहरण के माध्यम से समझें। सबसे पहले, हम उस कोड को लिखते हैं जहां हम एक पॉइंटर का मूल्य बदल रहे हैं
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P=100;
paunaZ bai=200;
sYairF paunaZ* paiTiAar;
paiTiAar=&P;
paiTiAar=&bai;
mauDznama("kimata ka paiTiAar hI :%u",paiTiAar);
naivaZtanama 0;
}
उपरोक्त कोड में:
उपरोक्त कोड सफलतापूर्वक चलता है, और यह आउटपुट में 'पीटीआर' का मूल्य दिखाता है। अब, हम उस कोड को लिखते हैं जिसमें हम उस चर का मान बदल रहे हैं जिसमें पॉइंटर इंगित करता है।
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P=100;
paunaZ bai=200;
sYairF paunaZ* paiTiAar;
paiTiAar=&bai;
*paiTiAar=300;
mauDznama("kimata ka paiTiAar hI :%paunaZ",*paiTiAar);
naivaZtanama 0;
}
उपरोक्त कोड में:
हम क्रमशः 100 और 200 मूल्यों के साथ दो चर, यानी, 'ए' और 'बी' घोषित करते हैं। हम निरंतर के लिए एक सूचक घोषित करते हैं। हम 'बी' को पॉइंटर 'पीटीआर' के लिए चर 'बी' का पता देते हैं। फिर, हम पॉइंटर 'Ptr' के माध्यम से चर 'B' के मान को संशोधित करने का प्रयास करते हैं। अंत में, हम उस चर के मूल्य को प्रिंट करने का प्रयास करते हैं जो सूचक 'पीटीआर' द्वारा इंगित किया गया है।
उपरोक्त कोड त्रुटि को "केवल-केवल स्थान '*ptr' का असाइनमेंट दिखाता है। इस त्रुटि का अर्थ है कि हम उस चर के मूल्य को नहीं बदल सकते हैं जिस पर सूचक इंगित कर रहा है।
एक स्थिरांक के लिए एक निरंतर सूचक एक सूचक है, जो उपरोक्त दो बिंदुओं का एक संयोजन है। यह न तो उस चर के पते को बदल सकता है जिस पर यह इंगित कर रहा है और न ही यह इस पते पर रखे गए मूल्य को बदल सकता है।
कैसे लिखें
sYairF <pzakar ka saucak>* sYairF <naama ka saucak>;
एक स्थिरांक के लिए एक निरंतर सूचक के लिए घोषणा नीचे दी गई है:
sYairF paunaZ* sYairF paiTiAar;
आइए एक उदाहरण के माध्यम से समझें।
#samaahitaF <PsaTidiAayaAae.Pca>
paunaZ mauqyaF()
{
paunaZ P=10;
paunaZ bai=90;
sYairF paunaZ* sYairF paiTiAar=&P;
*paiTiAar=12;
paiTiAar=&bai;
mauDznama("kimata ka paiTiAar hI :%paunaZ",*paiTiAar);
naivaZtanama 0;
}
उपरोक्त कोड में:
हम क्रमशः 10 और 90 के मूल्यों के साथ दो चर, यानी, 'ए' और 'बी' घोषित करते हैं। हम एक निरंतर पॉइंटर को एक निरंतरता के लिए घोषित करते हैं और फिर 'ए' का पता असाइन करते हैं। हम पॉइंटर 'Ptr' के माध्यम से चर 'A' के मान को बदलने का प्रयास करते हैं। फिर हम सूचक 'ptr' को चर 'b' का पता देने का प्रयास करते हैं। अंत में, हम चर के मान को प्रिंट करते हैं, जो कि पॉइंटर 'पीटीआर' द्वारा इंगित किया गया है।
उपरोक्त कोड में "केवल-केवल स्थान '*ptr'" और "केवल-केवल चर 'ptr' के असाइनमेंट की त्रुटि" असाइनमेंट 'और "असाइनमेंट' की त्रुटि दिखाई देती है। इसलिए, हम यह निष्कर्ष निकालते हैं कि एक स्थिर के लिए निरंतर सूचक न तो पता बदल सकता है और न ही मूल्य, जो इस सूचक द्वारा इंगित कर रहा है।